package com.budwk.app.sqfwV2.dto.entity;

import com.budwk.starter.common.openapi.annotation.ApiModel;
import com.budwk.starter.common.openapi.annotation.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.nutz.dao.entity.annotation.*;
import org.nutz.dao.interceptor.annotation.PrevInsert;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 问题基本信息类
 */
@Data
@Accessors(chain = true)
@Table("shequ.sqfw_problem_info")
@Comment("问题基本信息类")
@ApiModel(description = "问题基本信息类")
public class SqfwProblemInfo implements Serializable {
    private static final long serialVersionUID = 1L;

    @Column
    @Name
    @Comment("编号")
    @ApiModelProperty(description = "ID")
    @ColDefine(type = ColType.CHAR, width = 32)
    @PrevInsert(els = {@EL("snowflake()")}, nullEffective = true)
    private String id;

    @Column("type")
    @Comment("类型")
    @ApiModelProperty(description = "类型")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String type;

    @Column("problem_code")
    @Comment("问题编码")
    @ApiModelProperty(description = "问题编码")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String problemCode;

    @Column("problem_title")
    @Comment("问题标题")
    @ApiModelProperty(description = "问题标题")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String problemTitle;

    @Column("risk_code")
    @Comment("问题编号")
    @ApiModelProperty(description = "问题编号")
    @ColDefine(type = ColType.INT, width = 10)
    private Integer riskCode;

    @Column("fields")
    @Comment("字段名称")
    @ApiModelProperty(description = "字段名称")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String fields;

    @Column("default_value")
    @Comment("默认值")
    @ApiModelProperty(description = "默认值")
    @ColDefine(type = ColType.VARCHAR, width = 100)
    private String defaultValue;

    @Column("risk_desc")
    @Comment("问题描述")
    @ApiModelProperty(description = "问题描述")
    @ColDefine(type = ColType.VARCHAR, width = 200)
    private String riskDesc;

    @Column("harard_desc")
    @Comment("问题隐患描述")
    @ApiModelProperty(description = "问题隐患描述")
    @ColDefine(type = ColType.VARCHAR, width = 200)
    private String harardDesc;

    @Column("remark")
    @Comment("备注")
    @ApiModelProperty(description = "备注")
    @ColDefine(type = ColType.VARCHAR, width = 200)
    private String remark;

    @Column("create_date")
    @Comment("创建时间")
    @ApiModelProperty(description = "创建时间")
    @ColDefine(type = ColType.DATETIME, width = 120)
    private LocalDateTime createDate;

    @Column("create_id")
    @Comment("创建人")
    @ApiModelProperty(description = "创建人")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String createId;

    @Column("update_date")
    @Comment("更新时间")
    @ApiModelProperty(description = "更新时间")
    @ColDefine(type = ColType.DATETIME, width = 120)
    private LocalDateTime updateDate;

    @Column("update_id")
    @Comment("修改人id")
    @ApiModelProperty(description = "修改人id")
    @ColDefine(type = ColType.VARCHAR, width = 120)
    private String updateId;

    @Column("deleted")
    @Comment("删除状态")
    @ApiModelProperty(description = "删除状态")
    @ColDefine(type = ColType.BOOLEAN)
    private Boolean deleted;
}
